
#ifndef SX_POINT_H
#define SX_POINT_H

#include <sxGraphicsObject.h>

namespace Sx {
namespace Graphics {
namespace Objects {

class Point : public GraphicsObject {
public:
	Point();
	Point(float x, float y, float z);
	Point(const Eigen::Vector3f& position);
	virtual ~Point();

	bool construct();
	void update(float dt);

	void setX(float x);
	void setY(float y);
	void setZ(float z);
	void set(float x, float y, float z);
	void set(const Eigen::Vector3f& position);
	Eigen::Vector3f& position();
	Eigen::Vector3f getPosition() const;
	Eigen::Vector3f getCoordinates() const;

	float& x();
	float& y();
	float& z();
	float getX() const;
	float getY() const;
	float getZ() const;

protected:
	Eigen::Vector3f coordinates;
};

}

}

}

#endif
